package com.tripcube.ai.model.entity;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 知识库实体类
 * 
 * @author alander
 */
@Data
public class KnowledgeBase {
    
    /** 知识库ID */
    private String knowledgeBaseId;
    
    /** 知识库名称 */
    private String name;
    
    /** 知识库描述 */
    private String description;
    
    /** 工作空间ID */
    private String workspaceId;
    
    /** 结构类型（unstructured或structured） */
    private String structureType;
    
    /** 状态（如：COMPLETED） */
    private String status;
    
    /** 文档数量 */
    private Integer documentCount;
    
    /** 知识库大小 */
    private Long size;
    
    /** 数据源类型，默认为DATA_CENTER_FILE */
    private String sourceType = "DATA_CENTER_FILE";
    
    /** 存储类型，默认为BUILT_IN */
    private String sinkType = "BUILT_IN";
    
    /** 分块大小，默认500 */
    private Integer chunkSize;
    
    /** 重叠大小，默认100 */
    private Integer overlapSize;
    
    /** 分隔符 */
    private String separator;
    
    /** 嵌入模型名称 */
    private String embeddingModelName;
    
    /** 重排序模型名称 */
    private String rerankModelName;
    
    /** 重排序最小分数，默认0.01 */
    private String rerankMinScore;
    
    /** 存储实例ID */
    private String sinkInstanceId;
    
    /** 存储区域 */
    private String sinkRegion;
    
    /** 创建时间 */
    private LocalDateTime createTime;
    
    /** 更新时间 */
    private LocalDateTime updateTime;
    
    /** 创建者 */
    private String createBy;
    
    /** 更新者 */
    private String updateBy;
}